package com.dingyx.ps.model.po;

import com.dingyx.ps.model.PageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @description 合同表
 * @author zhangyang@zencor.cn
 * @date 2020-11-17
 */
@Data
@ApiModel("合同表")
public class BnContractPO extends PageEntity {

    private static final long serialVersionUID = 1L;


    /**
     * 拥有人手机号（拥有人标识）
     */
    @ApiModelProperty("拥有人手机号（拥有人标识）")
    private String customMobile;

    /**
     * 合同名称（协议名称）
     */
    @ApiModelProperty("合同名称（协议名称）")
    private String conName;

    /**
     * 合同编号
     */
    @ApiModelProperty("合同编号")
    private String conCode;

    /**
     * 甲方合同编号
     */
    @ApiModelProperty("甲方合同编号")
    private String conCodeFirstParty;

    /**
     * 甲方名称
     */
    @ApiModelProperty("甲方名称")
    private String nameFirstParty;

    /**
     * 服务方式 1，备件 2，人工 3，备件人工
     */
    @ApiModelProperty("服务方式 1，备件 2，人工 3，备件人工")
    private Integer serviceType;

    /**
     * 定制服务配置 存 定制服务 字典码 多个以逗号分隔
     */
    @ApiModelProperty("定制服务配置 存 定制服务 字典码 多个以逗号分隔")
    private String dzServiceConfig;

    /**
     * 甲方最终名称
     */
    @ApiModelProperty("甲方最终名称")
    private String nameFinalFirstParty;

    /**
     * 合同类型字典码
     */
    @ApiModelProperty("合同类型字典码")
    private String conTypeCode;

    /**
     * 项目简述
     */
    @ApiModelProperty("项目简述")
    private String projectDesc;

    /**
     * 服务开始时间
     */
    @ApiModelProperty("服务开始时间")
    private LocalDateTime startTime;

    /**
     * 服务结束时间
     */
    @ApiModelProperty("服务结束时间")
    private LocalDateTime endTime;

    /**
     * 交付模式 1.纯交付（纯自己）；2纯转售（纯三方）；3.混合交付；
     */
    @ApiModelProperty("交付模式 1.纯交付（纯自己）；2纯转售（纯三方）；3.混合交付；")
    private Integer deliveryPattern;

    /**
     * 合同金额
     */
    @ApiModelProperty("合同金额")
    private Double conMoney;

    /**
     * 消费总金额
     */
    @ApiModelProperty("消费总金额")
    private Double totalMoney;

    /**
     * 合同余额
     */
    @ApiModelProperty("合同余额")
    private Double useableMoney;

    /**
     * 账期次数(支付次数)
     */
    @ApiModelProperty("账期次数(支付次数)")
    private Integer accountPeriod;

    /**
     * 合同状态字典码
     */
    @ApiModelProperty("合同状态字典码")
    private String statusCode;

    /**
     * 销售人（t_user 的 id）
     */
    @ApiModelProperty("销售人（t_user 的 id）")
    private Integer saleId;

    /**
     * 联系人姓名
     */
    @ApiModelProperty("联系人姓名")
    private String linkMan;

    /**
     * 联系人电话
     */
    @ApiModelProperty("联系人电话")
    private String linkMobile;

    /**
     * 甲方地址
     */
    @ApiModelProperty("甲方地址")
    private String addressFirstParty;

    /**
     * 甲方地址邮编
     */
    @ApiModelProperty("甲方地址邮编")
    private String postcodeFirstParty;

    /**
     * 签署日期
     */
    @ApiModelProperty("签署日期")
    private LocalDateTime signTime;

    /**
     * 修改时间
     */
    @ApiModelProperty("修改时间")
    private LocalDateTime updateDate;

    /**
     * 副本标识，原合同id
     */
    @ApiModelProperty("副本标识，原合同id")
    private Integer oldId;

    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    private Integer createUser;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private LocalDateTime createDate;

    /**
     * 审批类型（1并行；2串行）
     */
    @ApiModelProperty("审批类型（1并行；2串行）")
    private Integer approvalType;

    /**
     * 修改人
     */
    @ApiModelProperty("修改人")
    private Integer updateUser;

    /**
     * 删除标识（0正常；1删除）
     */
    @ApiModelProperty("删除标识（0正常；1删除）")
    private Integer flag;

    /**
     * 备注信息
     */
    @ApiModelProperty("备注信息")
    private String remarks;

    /**
     * 合同结束时间 如果合同已到期并且所有相关服务已完成，或者其他原因，可操作合同结束
     */
    @ApiModelProperty("合同结束时间 如果合同已到期并且所有相关服务已完成，或者其他原因，可操作合同结束")
    private LocalDateTime finishTime;

    /**
     * 站点地址
     */
    @ApiModelProperty("站点地址")
    private String site;

    /**
     * 框架协议超额设置
     */
    @ApiModelProperty("框架协议超额设置")
    private Double excessMoney;

    /**
     * 项目名称
     */
    @ApiModelProperty("项目名称")
    private String projectName;

    /**
     * 销售经理
     */
    @ApiModelProperty("销售经理")
    private String salesManager;

    /**
     * 合同客户id
     */
    @ApiModelProperty("合同客户id")
    private Integer corporateCustomId;

    /**
     * 未开票
     */
    @ApiModelProperty("未开票")
    private Double notGetInvoice;

    /**
     * 已开票
     */
    @ApiModelProperty("已开票")
    private Double getInvoice;

    /**
     * 收费模式 1固定价格模式 2工时物料模式
     */
    @ApiModelProperty("收费模式 1固定价格模式 2工时物料模式")
    private Integer chargeMode;

    /**
     * 合同业务类型字典码
     */
    @ApiModelProperty("合同业务类型字典码")
    private String businessType;

    /**
     * 税率(%)
     */
    @ApiModelProperty("税率(%)")
    private String rate;

    /**
     * 结算方式 1月付 2季付 3半年付 4年付 5背靠背 6按合同比例
     */
    @ApiModelProperty("结算方式 1月付 2季付 3半年付 4年付 5背靠背 6按合同比例")
    private Integer settlementType;

    /**
     * 收款状态 0未收款 1收款中 2已结款
     */
    @ApiModelProperty("收款状态 0未收款 1收款中 2已结款")
    private Integer paymentStatus;

    /**
     * 1贤牛 2仁科
     */
    @ApiModelProperty("1贤牛 2仁科")
    private Integer belong;


}

